Add sketchy pointy clicky thingy wrapper in TK.
authorrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Wed, 6 Nov 2002 15:41:46 +0000 (15:41 +0000)
committerrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Wed, 6 Nov 2002 15:41:46 +0000 (15:41 +0000)
gpsbabel/guibabel [new file with mode: 0755]

diff --git a/gpsbabel/guibabel b/gpsbabel/guibabel
new file mode 100755 (executable)
index 0000000..ceee62f
--- /dev/null
@@ -0,0 +1,95 @@
+#!/bin/sh
+# the next line restarts using wish \
+exec wish "$0" "$@"
+
+# 
+# This was largely cribbed from the TCL demo code.  My TCL skills weren't
+# that great when I last used it about ten years ago and my Tk skills never
+# existed before.  So be kind.
+#
+
+set font {Helvetica 14}
+set ifile {}
+set ofile {}
+set use_shortnames 0
+
+proc positionWindow w {
+    wm geometry $w +300+300
+}
+
+proc showCmd w {
+ global ifile ofile use_shortnames ftyperead ftypewrite
+ set cmd "-i $ftyperead -f $ifile"
+ if {$use_shortnames > 0} {
+       set cmd [concat $cmd "-s"]
+  }
+ set cmd [concat $cmd  "-o $ftypewrite -F $ofile"]
+ tk_messageBox -icon info -message  $cmd
+}
+
+set w .filebox
+catch {destroy $w}
+toplevel $w
+wm title $w "gpsbabel"
+wm iconname $w "filebox"
+positionWindow $w
+
+#label $w.msg -font $font -wraplength 4i -justify left -text "Enter a file name in the entry box or click on the \"Browse\" buttons to select a file name using the file selection dialog."
+#pack $w.msg -side top
+
+frame $w.buttons
+pack $w.buttons -side bottom -fill x -pady 2m
+button $w.buttons.dismiss -text Cancel -command "destroy $w"
+button $w.buttons.code -text OK -command "showCmd $w"
+pack $w.buttons.dismiss $w.buttons.code -side left -expand 1
+
+foreach i {read write} {
+    set f [frame $w.$i]
+    set ftype "ftype$i"
+    label $f.lab -text "Select a file to $i: " -anchor e
+    entry $f.ent -width 20
+    button $f.but -text "Browse ..." -command "fileDialog $w $f.ent $i"
+# TODO: Get this list from 'gpsbabel -?' instead of hardcoding it here.
+    tk_optionMenu $f.ftypes $ftype geo gpsman gpx \
+       magellan mapsend pcx mapsource gpsutil tiger csv xmap dna psp \
+       cetus gpspilot magnav garmin mxf holux ozi tpg
+    pack $f.lab -side left
+    pack $f.ent -side left -expand yes -fill x
+    pack $f.but -side left
+    pack $f -fill x -padx 1c -pady 3
+    pack $f.ftypes -side right -padx 45 
+}
+set ftyperead "geo"
+set ftypewrite "mapsend"
+
+ checkbutton $w.strict -text "Make Up Shortnames" \
+       -variable use_shortnames -onvalue 1 -offvalue 0
+ pack $w.strict -anchor c
+
+proc fileDialog {w ent operation} {
+    #   Type names             Extension(s)    Mac File Type(s)
+    #
+    #---------------------------------------------------------
+    set types {
+       {"All files"            *               }
+       {"loc files"            {.loc}          }
+       {"Waypoint files"       {.wpt}          }
+    }
+    global ifile ofile
+    if {$operation == "read"} {
+       set ifile [tk_getOpenFile -filetypes $types -parent $w]
+        if [string compare $ifile ""] {
+           $ent delete 0 end
+           $ent insert 0 $ifile
+           $ent xview end
+       } ;
+    } else {
+       set ofile [tk_getSaveFile -filetypes $types -parent $w \
+           -initialfile Untitled ]
+        if [string compare $ofile ""] {
+           $ent delete 0 end
+           $ent insert 0 $ofile
+           $ent xview end
+       } ;
+    }
+}